﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfAGVSystem.DBModel
{
    [Table("TaskType_Entity")]
    public class TaskType_Entity:BaseDbmodel
    {
        public int id { get; set; }
        /// <summary>
        /// 任务类型
        /// </summary>
        public int TaskType { get; set; }
        /// <summary>
        /// AGV类型
        /// </summary>
        public int AGVType { get; set; }
        /// <summary>
        /// 前物料类型
        /// </summary>
        public int FrontMaterialType { get; set; }
        /// <summary>
        /// 后物料类型
        /// </summary>
        public int BackMaterialType { get; set; }
        /// <summary>
        /// 前置站点执行动作
        /// </summary>
        public string ForntAction { get; set; }
        /// <summary>
        /// 目标站点执行动作
        /// </summary>
        public string TargetAction { get; set; }
        /// <summary>
        /// 后置站点动作
        /// </summary>
        public string RearAction { get; set; }
        /// <summary>
        /// 后任务类型
        /// </summary>
        public int BackTaskType { get; set; }
        /// <summary>
        /// 预定任务类型
        /// </summary>
        public int PreTaskType { get; set; }
        /// <summary>
        /// 任务预定时执行
        /// </summary>
        public string TaskPreTask { get; set; }
        /// <summary>
        /// 任务开始时执行操作
        /// </summary>
        public string TaskStartExcute { get; set; }

        /// <summary>
        /// 任务完成时执行操作
        /// </summary>
        public string TaskStartFinish { get; set; }

        public bool MobileTask { get; set; }

        /// <summary>
        /// 说明
        /// </summary>
        public string Remark { get; set; }
        public TaskType_Entity Clone()
        {
            TaskType_Entity t = new TaskType_Entity()
            {
                TaskType = this.TaskType,
                AGVType = this.AGVType,
                FrontMaterialType = this.FrontMaterialType,
                BackMaterialType = this.BackMaterialType,
                ForntAction = this.ForntAction,
                TargetAction = this.TargetAction,
                RearAction = this.RearAction,
                TaskPreTask = this.TaskPreTask,
                TaskStartExcute = this.TaskStartExcute,
                TaskStartFinish = this.TaskStartFinish,
                BackTaskType = this.BackTaskType,
                PreTaskType = this.PreTaskType,
                Remark = this.Remark
            };
            return t;
        }
    }
}
